<?php

require_once(BaseConfig::LoadClass('objeto_base.class.php'    ));
require_once(BaseConfig::LoadClass('filtro.class.php'         ));
require_once(BaseConfig::LoadClass('abc.class.php'            ));
require_once(BaseConfig::LoadClass('carga_excel.class.php'    ));

class Plugin_Clientes_MuestraLigaEdicion extends PluginABC {
  function Plugin_Clientes_MuestraLigaEdicion() {
    $this->strNombreBoton   = "Informacion";
    $this->bolLlevaDosPasos = false   ;
  }
  
  function EjecutarPlugin() {
    // Se necesita presentar la info, por lo que el buscador se modifica
    unset($_SESSION["Filtros"]["OrdenTrabajo"]);
    $_SESSION["Filtros"]["OrdenTrabajo"]["Pagina"    ] = 0;
    $_SESSION["Filtros"]["OrdenTrabajo"]["OrdenExtra"] = "";
    
    $_SESSION["Filtros"]["OrdenTrabajo"]["Filtro"][0]["columna"] = "id_cliente";
    $_SESSION["Filtros"]["OrdenTrabajo"]["Filtro"][0]["op"     ] = "=";
    $_SESSION["Filtros"]["OrdenTrabajo"]["Filtro"][0]["valor"  ] = $this->__oObjetoAplicado->intIdCliente;
    $_SESSION["Filtros"]["OrdenTrabajo"]["Filtro"][0]["visible"] = "1";
    
    header("Location:index.php?option=abc_ordenes_trabajo");
    die;
  }
}

class Cliente extends ObjetoBase {
  var $intIdCliente    ;
  var $strCodigoCliente;
  var $strRazonSocial  ;
  var $strRFC          ;
  var $fltLimiteCredito;
  var $strAtencionA    ;
  var $strCorreo       ;
  var $strDireccion    ;
  var $strTelefono     ;
  var $strFax          ;
  
  function Cliente($intIdCliente = 0) {
    $arrMapaDatos = Array();
    $arrMapaDatos['id_cliente'    ] = Array('NombreVariable' => 'intIdCliente'    , 'TipoVariable' => 'I');
    $arrMapaDatos['codigo_cliente'] = Array('NombreVariable' => 'strCodigoCliente', 'TipoVariable' => 'S');
    $arrMapaDatos['razon_social'  ] = Array('NombreVariable' => 'strRazonSocial'  , 'TipoVariable' => 'S');
    $arrMapaDatos['rfc'           ] = Array('NombreVariable' => 'strRFC'          , 'TipoVariable' => 'S');
    $arrMapaDatos['limite_credito'] = Array('NombreVariable' => 'fltLimiteCredito', 'TipoVariable' => 'N');
    $arrMapaDatos['atencion_a'    ] = Array('NombreVariable' => 'strAtencionA'    , 'TipoVariable' => 'S');
    $arrMapaDatos['correo'        ] = Array('NombreVariable' => 'strCorreo'       , 'TipoVariable' => 'S');
    $arrMapaDatos['direccion'     ] = Array('NombreVariable' => 'strDireccion'    , 'TipoVariable' => 'S');
    $arrMapaDatos['telefono'      ] = Array('NombreVariable' => 'strTelefono'     , 'TipoVariable' => 'S');
    $arrMapaDatos['fax'           ] = Array('NombreVariable' => 'strFax'          , 'TipoVariable' => 'S');
    
    $this->__ArmarDatosPrivados('cat_clientes', $arrMapaDatos, 'id_cliente');
    $this->SeleccionarPorIndice($intIdCliente);
  }
}

class FiltroCliente extends Filtro {
  function FiltroCliente() {
    $arrProceso["codigo_cliente"] = "Codigo Cliente";
    $arrProceso["razon_social"  ] = "Razon Social"  ;
    $arrProceso["rfc"           ] = "RFC"           ;
    $arrProceso["atencion_a"    ] = "Atencion A"    ;
    $arrProceso["correo"        ] = "Correo"        ;
    $arrProceso["direccion"     ] = "Direccion"     ;
    $arrProceso["telefono"      ] = "Telefono"      ;
    $arrProceso["fax"           ] = "Fax"           ;
    
    parent::CrearFiltro("cat_clientes", "id_cliente", $arrProceso, "Busqueda", "", "", "Cliente");
  }
}

class Carga_Cliente extends CargaExcel {
  function Carga_Cliente() {
    parent::CargaExcel();
    $arrProceso["codigo_cliente"] = "Codigo Cliente";
    $arrProceso["razon_social"  ] = "Razon Social"  ;
    $arrProceso["rfc"           ] = "RFC"           ;
    $arrProceso["limite_credito"] = "Limite Credito";
    
    $arrReferencias = array();
    
    $this->Init("Cliente", "cat_productos", $arrProceso, $arrReferencias);
    
    $this->intPrimeraLinea       = 0;
    $this->intCargarSoloCompleto = 0;
    $this->bolLimpiarTablaAntes  = true;
    
    $this->__arrInfoSaltarLinea[] = "Todos Los Clientes";
    $this->__arrInfoSaltarLinea[] = ""                  ;
    $this->__arrInfoSaltarLinea[] = "Código Cliente"    ;
  }
}


class ABC_Cliente extends ABC_Base {
  function ABC_Cliente() {
    $strClaseBase     = "Cliente"       ;
    $strClaseFiltro   = "FiltroCliente" ;
    $strClaseCarga    = "Carga_Cliente" ;
    $strCampoMostrar  = "codigo_cliente";
    $strOpcionListado = "abc_clientes"  ;
    $strOpcionGuardar = "abc_clientes"  ;

    $arrNombresColumnas = array();
    $arrNombresColumnas["codigo_cliente"] = "Codigo Cliente";
    $arrNombresColumnas["razon_social"  ] = "Razon Social"  ;
    $arrNombresColumnas["rfc"           ] = "RFC"           ;
    $arrNombresColumnas["limite_credito"] = "Limite Credito";
    $arrNombresColumnas["atencion_a"    ] = "Atencion A"    ;
    $arrNombresColumnas["correo"        ] = "Correo"        ;
    $arrNombresColumnas["direccion"     ] = "Direccion"     ;
    $arrNombresColumnas["telefono"      ] = "Telefono"      ;
    $arrNombresColumnas["fax"           ] = "Fax"           ;

    $arrReferencias = array();
    
    $this->Inicializar($strClaseBase, $arrNombresColumnas, $strOpcionListado, $strOpcionGuardar, $strCampoMostrar, $strClaseFiltro, $arrReferencias, "", $strClaseCarga);
    
    $this->bolABCLista             = true;
    $this->bolABCListaOcultarTD    = true;
    $this->bolPosibleNuevoElemento = true;
    $this->intTipoGuardado         = 1;
    $this->intNumeroRes            = 20;
    $this->bolSoloLectura          = false;
    $this->bolPluginsLocalesIzquierda = true;
    $this->arrPlugIns["Locales"][]    = "Plugin_Clientes_MuestraLigaEdicion";
  }
}

?>